package pe.com.cotelasa.seguridad.dominio.servicio.impl;
 
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import pe.com.cotelasa.common.dao.excepcion.DAOException;
import pe.com.cotelasa.scp.dominio.common.ESTADO_REGISTRO;
import pe.com.cotelasa.scp.dominio.excepcion.ServiceException;
import pe.com.cotelasa.seguridad.dao.IDAOMenuRol;
import pe.com.cotelasa.seguridad.dominio.servicio.IServiceMenuRol;
import pe.com.cotelasa.seguridad.entidad.Menu;
import pe.com.cotelasa.seguridad.entidad.MenuRol;

@Service
public class ServiceMenuRolImpl implements  IServiceMenuRol, Serializable{
 
	private static final long serialVersionUID = 5947750625810827036L;
	
	@Autowired
    private IDAOMenuRol daoMenuRol;
    
    @Override
    public List<Menu> obtenerListaMenuPorRol(Integer idRol) throws ServiceException {
        List<Menu> listaMenu = new ArrayList<Menu>();
        Map<String,Object> parametros = new HashMap<String, Object>();
        parametros.put("menuRolPK.idRol",idRol);
        parametros.put("estadoRegistro",""+ESTADO_REGISTRO.ACTIVO.getValor());
        try {
            Collection<MenuRol> coleccionMenuRol = daoMenuRol.obtenerColeccionCacheEntidadPorFiltros(MenuRol.class,parametros);
            for (MenuRol menuRol : coleccionMenuRol) {
                listaMenu.add(menuRol.getMenu());
            }
            return listaMenu;
        } catch (DAOException ex) {
            throw new ServiceException(ex.getMessage(), ex);
        }
    }
    
}
